package com.ymatou.promotion.api.service;

import org.json.JSONObject;

import com.ymatou.promotion.api.parameter.AvailableCouponInfo;
import com.ymt.base.YmatouBaseCall;
import com.ymt.core.tool.FormatUtil;
import com.ymttest.utils.EnvSetup;
/**
*验证优惠券有效性，并取得优惠券面值和使用方式接口Call
*FreeMaker Template自动生成代码
*/
public class ValidateCouponInfoCall extends YmatouBaseCall{
	private static String opurl ="api/Coupon/ValidateCouponInfo";
	
	public ValidateCouponInfoCall() {
		super(EnvSetup.getSystemUrl("promition_api_coupon"),opurl,"POST","JSON");
	}
	
	@Override
	public void addDefHeader() {
		client.addHeader("Accept","text/xml,text/javascript,text/html,application/json");
		client.addHeader("Content-Type", "application/json; charset=UTF-8");
	}
	
	/**
	 * 获取Code
	 * 
	 * @return
	 */
	public String getCode() {
		String Code = null;
		try {
			Code = new JSONObject(getReturnData()).getString("Code");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return Code;
	}

	/**
	 * 获取BCode
	 * 
	 * @return
	 */
	public String getBCode() {
		String Code = null;
		try {
			Code = new JSONObject(getReturnData()).getString("BCode");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return Code;
	}

	/**
	 * 获取Msg
	 * 
	 * @return
	 */
	public String getMsg() {
		String Code = null;
		try {
			Code = new JSONObject(getReturnData()).getString("Msg");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return Code;
	}
	
	/**
	 * 获取Data
	 * 
	 * @return
	 */
	public String getData() {
		String Code = null;
		try {
			Code = new JSONObject(getReturnData()).getString("Data");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return Code;
	}
	
	/**
	 * 获取MessageText
	 * 
	 * @return
	 */
	public String getMessageText() {
		String Code = null;
		try {
			Code = new JSONObject(getData()).getString("MessageText");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return Code;
	}	
	
	/**
	 * 获取AvailableCouponInfo
	 * 
	 * @return
	 */
	public AvailableCouponInfo getAvailableCouponInfo() {
		AvailableCouponInfo Code = null;
		try {
			Code = (AvailableCouponInfo)FormatUtil.GSONToObject(new JSONObject(getData()).getString("AvailableCouponInfo"),AvailableCouponInfo.class);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		return Code;
	}	
	
	
}